As an alternative to the hardware components or in combination with these components software for encryption or decryption of the data can be used, however this requires powerful computers for the encryption systems.
To make it possible for the hardware components to encrypt or decrypt the data it is necessary for the data to be transmitted or transmitted back to the hardware components. This requires additional time for the encryption process before the encrypted data can be transmitted from a send location to a receive location or can be read at a receive location.
Since with Internet telephony (Voice-over-IP) small data packets are used for transmission of the speech data, and the data packets, because of their connectionless transmission, are able to choose different paths to the receive locations in order to be reassembled there into a complete sequence of packets again, fast decryption of the data assigned to the individual data packets must be possible to avoid further processing times, in order to retain a good speech quality during the telephone call.
To make faster transmission of the data possible, the User Datagram Protocol (UDP), which, unlike TCP, dispenses with error detection and correction, is used as the transmission protocol for Internet telephony. Data packets that are transferred with the UDP generally have a smaller header containing various administration or control data. This type of administration data also includes error detection and correction data which in this case can be left out. The error detection and correction data is then frequently supported by a protocol from a higher layer, such as for the Real Time Protocol (RTP) for example. Provided the header is small, a relatively small overhead can be realized. This in its turn leads to faster processing of the payload data transmitted with the data packets. Because UDP is used as the transport protocol, loss-free transmission of the speech data is not guaranteed in Internet telephony because of the lack of error correction. The best method is therefore the independent encryption, transmission and decryption of individual data packets which are as small as possible. To date the encryption methods have been based on an exchange of the key with which the payload data contained in the data packets was encrypted. A key of this type can be transmitted before the payload data from the send location to the receive location. The additional exchange method and the associated creation of a key require additional computing and transmission time which means that the transfer of communication data takes longer. Furthermore, with the encryption methods known to date, there may well be license fees to be paid for using these methods. The computing times increase with the encryption systems which aim to simultaneously encode the data of a number of connections running in parallel.